iT邦幫忙

2022 iThome 鐵人賽

DAY 8
0
Mobile Development

Flutter Didilong系列 第 8

D-8 Dart List (2) | Dart筆記

  • 分享至 

  • xImage
  •  

不要把其他垃圾放進來

本文主軸

  • List 限定元素型態
  • spread operator
  • List 中也能寫條件式 ?

List限定元素型態

List此處設定只允許String List<String>
後面給允的List若放入其他型態會產生錯誤 [100,10.0,false]

main() {
  List<String> pokemons = ['皮卡丘'];
  pokemons.add(100);
}

限定元素型態在等號右邊

此處範例 <String>['雷丘']
代表設值的List只允許String

但,但是
pokemons2 沒有設定
所以在往後使用List函式 pokemons2.add(100)
這是可以通過的

main() {
  List pokemons2 = <String>['雷丘'];
  pokemons2.add(100);
}


spread operator (...) / (...?)

(...)

基於限定元素的List
合併List 與 單筆String

透過 ['XD', ...students]
將 'XD' 和 students(List) 合併
結果顯示:
[XD, Kenny, Andy, Judy]

List<String> students = ['Kenny', 'Andy', 'Judy'];
List<String> students2 = ['A', 'B', 'C'];
main() {
  List<String> aClass = ['XD', ...students];
  print(aClass);
}

透過這方式能夠將兩個List合併
結果顯示:
[Kenny, Andy, Judy, A, B, C]

main() {
  var bClass = students + students2;
  print(bClass);
}

(...?)

與 spread operator(...)用法相似
差別在於
確保合併的List為空 也不會出問題

因此 ghostStudents 設定為可空的<String>List
才可以配合...?使用

List<String>? ghostStudent;
main() {
  // ghostStudent = ['A', 'B', 'C'];
  var list2 = ['XDD', ...? ghostStudent];
  print(list2);
}

上一篇
D-7 Dart List | Dart筆記
下一篇
D-9 Route | Flutter筆記
系列文
Flutter Didilong30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言